home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / pc / LOGIC Apple II 5.25" Library - DOS Part 4 / DOS131.dsk / MENU (SUPER.FP).bas < prev    next >
BASIC Source File  |  2012-02-16  |  6KB  |  97 lines

  1. 100  GOTO 1010
  2. 110  VTAB V +1:L =  PEEK(40) + PEEK(41) *256: RETURN 
  3. 120 A =  ASC(LE$):A = A -66 +T: IF CK = 1  THEN 130
  4. 125  VTAB A +1: HTAB 4: PRINT "(";LE$;")"
  5. 130 V = A: GOSUB 110: IF ST = 0  THEN 140
  6. 136 ST = 0: IF  PEEK(L) = 160  THEN FL = 0: RETURN 
  7. 137 FL = 1: RETURN 
  8. 140 FL = 0:P =  PEEK(L) -128: IF P = 42  THEN FL = 1
  9. 160 P =  PEEK(L +1):T$ =  CHR$(P -128):FI$ = "": FOR C = 7 TO 38:FI$ = FI$ + CHR$( PEEK(L +C) -128): NEXT C: VTAB VT: RETURN 
  10. 190  REM 
  11. 200  WAIT  -16384,128:KEY =  PEEK( -16384) -128: POKE  -16368,0: IF KEY = 27  THEN  END 
  12. 210  RETURN 
  13. 1010  REM 
  14. 1020  PRINT "<CTRL-D>NOMON C,I,O"
  15. 1030  PRINT : TEXT : HOME : VTAB 1: PRINT  TAB( 5);"*** APPLE ][ PLUS SUPER MENU ***": VTAB 1:D$ =  CHR$(4)
  16. 1040  PRINT D$;"CATALOG";SL$;DR$: POKE 34,0: POKE 32,39: POKE 33,1: VTAB 6: PRINT "HIT ESC TO EXIT": POKE 32,0: POKE 33,40: FOR T = 0 TO 22:V = T: GOSUB 110:L = L +4:P =  PEEK(L) -128: IF P <48  OR P >57  THEN  NEXT T
  17. 1080 T = T +1: FOR B = T -1 TO 22:V = B: GOSUB 110:L = L +4:P =  PEEK(L) -128: IF P >47  AND P <58  THEN  NEXT B
  18. 1130  FOR V = T TO B: VTAB V: HTAB 4: PRINT  CHR$(91); CHR$(V -T +65); CHR$(93): NEXT V
  19. 1160 V = V -1:HA$ =  CHR$(V -T +65):MENU$ = "<- MENU  LOAD=1 LOCK=2 UNLOCK=3 DELETE=4 VERIFY=5 RENAME=6 BLOAD/BRUN AT=7 BFIND=8 BCOPY=9  TOP OF CATALOG=0  CHANGE SLOT/DRIVE='RETURN'  SHIFT 2,3,4,5 FOR FULL DISK  MENU ->":V = 24
  20. 1190  VTAB V: PRINT "RUN ?  ";:OK = 0:FU = 0:PL = 1:DE = 0
  21. 1200  VTAB V: HTAB 8:VT = V: PRINT  MID$ (MENU$,PL,31);: POKE  -16368,0: GOSUB 190: IF KEY = 8  THEN PL = PL +1: IF PL = 145  THEN PL = PL -1
  22. 1255  IF KEY = 21  THEN PL = PL -1: IF PL = 0  THEN PL = 1
  23. 1257  IF KEY < >8  AND KEY < >21  THEN 1270
  24. 1260  GOTO 1200
  25. 1270  IF KEY = 13  THEN 3020
  26. 1280 K$ =  CHR$(KEY): IF K$ >"@"  AND K$ =  <HA$  THEN 2000
  27. 1300  IF K$ >"/"  AND K$ <":"  THEN 3000
  28. 1310  IF K$ >"!"  AND K$ <"&"  THEN FU = 1:K$ =  CHR$( ASC(K$) +16): GOTO 3000
  29. 1320  GOTO 1200
  30. 2000 LE$ = K$: GOSUB 120: REM 
  31. 2015  PRINT :RU$ = "RUN": IF T$ = "B"  THEN RU$ = "B" +RU$
  32. 2030  IF T$ = "T"  THEN RU$ = "EXEC"
  33. 2032  VTAB 24: PRINT RU$;" ";FI$: PRINT D$;RU$;" ";FI$: END 
  34. 3000  REM 
  35. 3005  VTAB VT: HTAB 1:O =  VAL(K$) +1: ON O GOTO 4000,4500,5000,5500,6000,6500,7000,7500,8000,8500
  36. 3020  VTAB VT: HTAB 1: PRINT "<CTRL-G> HIT KEY FOR NEW SLOT NUMBER";: CALL  -868
  37. 3040  GOSUB 190: IF KEY = 13  THEN  PRINT : RUN 
  38. 3060  IF KEY <49  OR KEY >55  THEN 3040
  39. 3065 SL$ = ",S" + CHR$(KEY): VTAB VT: HTAB 1: PRINT "<CTRL-G>SLOT:"; CHR$(KEY);"    HIT KEY FOR NEW DRIVE";
  40. 3080  GOSUB 190: PRINT : IF KEY = 13  THEN 1030
  41. 3100  IF KEY <49  OR KEY >50  THEN 3080
  42. 3110 DR$ = ",D" + CHR$(KEY): PRINT : GOTO 1030
  43. 4000  PRINT : HOME : POKE 34,23: GOTO 1040
  44. 4500  REM 
  45. 4510  HTAB 1: VTAB VT: PRINT "<CTRL-G> PRESS 'LETTER' YOU WISH TO LOAD";: CALL  -868: GOSUB 190: IF KEY <65  OR KEY > ASC(HA$)  THEN V = VT: HTAB 1: CALL  -868: GOTO 1190
  46. 4550 LE$ =  CHR$(KEY):CK = 1: GOSUB 120: IF T$ = "T"  THEN 4510
  47. 4570 CK = 0: GOSUB 120:F$ = "LOAD": IF T$ = "B"  THEN F$ = T$ +F$
  48. 4590  VTAB VT: HTAB 2: CALL  -868: PRINT F$;" ";FI$: PRINT D$;F$;FI$: END 
  49. 5000  REM 
  50. 5010 FU$ = "LOCK":F1 = 0: GOTO 9000
  51. 5500  REM 
  52. 5510 FU$ = "UNLOCK":F1 = 1: GOTO 9000
  53. 6000  REM 
  54. 6010  VTAB VT: HTAB 1: CALL  -868: IF FU = 1  THEN  PRINT "<CTRL-G> HIT '4' TO DELETE UNLOCKED FILES";
  55. 6030  IF FU = 0  THEN  PRINT "<CTRL-G> PRESS LETTER YOU WISH TO ";: FLASH : PRINT "DELETE";: NORMAL 
  56. 6040  IF FU = 0  THEN 6250
  57. 6050  GOSUB 190: IF KEY < > ASC("4")  THEN  VTAB VT: HTAB 1: CALL  -868: GOTO 1190
  58. 6060 F1 = 0:FU$ = "DELETE": GOTO 9000
  59. 6250 OK = 0:F1 = 0:DE = 1: GOTO 10010
  60. 6499  GOTO 6499
  61. 6500 FU$ = "VERIFY":OK = 1: GOTO 9000
  62. 7000  VTAB VT: HTAB 1: PRINT "<CTRL-G> PRESS LETTER YOU WISH TO RENAME";: CALL  -868
  63. 7010  GOSUB 190: IF KEY < ASC("A")  OR KEY > ASC(HA$)  THEN  VTAB VT: HTAB 1: CALL  -868: GOTO 1190
  64. 7020 LE$ =  CHR$(KEY):CK = 1: GOSUB 120:CK = 0: IF FL = 1  THEN 7010
  65. 7040  GOSUB 120: HTAB 1: VTAB VT: CALL  -868: INPUT "<CTRL-G>ENTER NEW NAME : ";NN$: IF NN$ = ""  THEN 1030
  66. 7060  PRINT D$;"RENAME ";FI$;",";NN$: GOTO 1030
  67. 7500  REM 
  68. 7510  VTAB VT: HTAB 1: CALL  -868: PRINT "<CTRL-G> PRESS LETTER OF BINARY PROGRAM";
  69. 7520  GOSUB 190:LE$ =  CHR$(KEY): IF LE$ <"A"  OR LE$ >HA$  THEN  VTAB VT: HTAB 1: CALL  -868: GOTO 1190
  70. 7535 CK = 1: GOSUB 120: IF T$ < >"B"  THEN  PRINT "<CTRL-G><CTRL-G><CTRL-G><CTRL-G><CTRL-G>";: GOTO 7520
  71. 7550 CK = 0: GOSUB 120: VTAB VT: HTAB 1: CALL  -868: PRINT "<CTRL-G> BLOAD OR BRUN (L/R)";
  72. 7570  GOSUB 190:LE$ =  CHR$(KEY): IF LE$ < >"L"  AND LE$ < >"R"  THEN 7570
  73. 7580  HTAB 1: CALL  -868: INPUT "<CTRL-G> WHAT STARTING LOCATION:";SL$: IF LE$ = "L"  THEN FU$ = "BLOAD": GOTO 7600
  74. 7595 FU$ = "BRUN"
  75. 7600  PRINT D$;FU$;FI$;SL$: END 
  76. 8000  REM 
  77. 8005 BC = 0
  78. 8010  VTAB VT: HTAB 1: CALL  -868: PRINT "<CTRL-G> PRESS LETTER OF BINARY PROGRAM";
  79. 8020  GOSUB 190:LE$ =  CHR$(KEY): IF LE$ <"A"  OR LE$ >HA$  THEN  HTAB 1: CALL  -868: GOTO 1190
  80. 8030 CK = 1: GOSUB 120: IF T$ < >"B"  THEN 8020
  81. 8040 CK = 0: GOSUB 120: PRINT : PRINT D$;"BLOAD ";FI$: IF BC = 1  THEN BC = 0: GOTO 8520
  82. 8057  PRINT " START : "; PEEK( -21902) + PEEK( -21901) *256;: HTAB 21: PRINT "LENGTH : "; PEEK( -21920) + PEEK( -21919) *256: END 
  83. 8500  REM 
  84. 8510 BC = 1: GOTO 8010
  85. 8520  HTAB 1: CALL  -868: PRINT " PUT DESTINATION DISK IN SAME DRIVE              AND HIT ANY KEY": GOSUB 190:SA =  PEEK( -21902) + PEEK( -21901) *256:LA =  PEEK( -21920) + PEEK( -21919) *256: PRINT D$;"BSAVE ";FI$;",A";SA;",L";LA: END 
  86. 9000  IF FU = 0  THEN 10000
  87. 9005  VTAB V: HTAB 1: CALL  -868: PRINT " ";: PRINT "<CTRL-G>";FU$;"ING DISK";: CALL  -868: HTAB 19: PRINT "HIT 'ESC' TO EXIT";: VTAB 5: PRINT : FOR ZZ = 65 TO  ASC(HA$): IF OK = 1  THEN LE$ =  CHR$(ZZ): GOTO 9050
  88. 9040 LE$ =  CHR$(ZZ):ST = 1:CK = 1: GOSUB 120: IF F1 < >FL  THEN 9070
  89. 9050 CK = 0: GOSUB 120: PRINT D$;FU$;FI$: IF  PEEK( -16384) >128  THEN X =  PEEK( -16384) -128: POKE  -16368,0: IF X = 27  THEN  RUN 
  90. 9070  NEXT ZZ: RUN 
  91. 10000  VTAB V: HTAB 1: PRINT " <CTRL-G>PRESS 'LETTER' YOU WISH TO ";FU$;: CALL  -868
  92. 10010  GOSUB 190: IF KEY <65  OR KEY > ASC(HA$)  THEN V = VT: HTAB 1: CALL  -868: GOTO 1190
  93. 10020 LE$ =  CHR$(KEY):CK = 1: GOSUB 120:CK = 0: IF OK = 1  THEN 10040
  94. 10030  IF F1 < >FL  THEN 10010
  95. 10040  GOSUB 120: IF DE = 1  THEN FU$ = "DELETE"
  96. 10045  IF DE = 1  THEN  VTAB VT: HTAB 1: CALL  -868: PRINT "DELETE ";FI$: HTAB 12: PRINT "HIT '4' TO DELETE";: GOSUB 190: IF KEY < > ASC("4")  THEN  GOTO 1030
  97. 10047  PRINT : PRINT D$;FU$;FI$: GOTO 1030